Packet based data transmission is widely used in the field of communication systems and commonly known to those skilled in the art. Usage of such a packet based data transmission is made, for example, for the transmission between a sending node and a receiving (terminal) node in fixed and mobile telecommunication systems, in Internet Protocol (IP) based networks and the like. The packet may comprise a payload, i.e. the data to be transmitted, and a header which indicates a source (i.e. the sending node) and a destination (i.e. the receiving terminal node) address. By means of the information comprised in the header, i.e. the source and destination addresses the transmitting communication network knows how to route the packet.
For the transmission of such a packet there has been developed a technique called tunneling. Tunneling, which is also termed as encapsulation, is a generic mechanism to encapsulate a packet and carries it as the payload of another packet.
The tunneling technique is fairly simple. As shown in FIG. 5, the tunneled packet is generated by adding an outer header before the header of the original packet (i.e. the original header and the payload). The source and destination in the outer header identify the source and destination of a tunnel, while the inner header's source and destination identify the original sender and recipient of the original packet.
Tunneling is suggested as a means to alter the normal routing for packets, by delivering them to an intermediate destination (tunnel) that may otherwise not be selected based on the destination address in the original header. Once the encapsulated packet arrives at this intermediate destination node, it is decapsulated (i.e. the added outer header is removed), yielding the original IP packet, which is then delivered to the destination indicated by the original (i.e. inner header's) destination address.
Tunneling is a popular mechanism used in network protocols. The Internet Engineering Task Force (IETF) has developed several specifications which are published as Request FOR Comments (RFC). In several of these RFCs, tunneling schemed are described, for example IP in IP tunneling (as defined in RFC 1853), generic packet tunneling using IPv6 (as defined in RFC 2473), IP encapsulation within IP (as defined in RFC 2003).
Tunneling is an important technique used for example in mobile IP communication networks to route the packet from a correspondent node to a mobile node. Below, mobile IP communication networks will be described in greater detail.
Recently, development of communication networks has made considerable progress. Among such communication networks, there is an increasing number of communication networks supporting mobility of the users having subscribed to the networks. A user is represented by a terminal node he uses for communication with a communication partner node. Note that in general a communication partner node is of the same or a similar type than a terminal node, while “partner node” has only been chosen to illustrate that this is the destination or called node in communication. A terminal node/communication partner node may for example be a mobile phone, mobile laptop computer, a personal digital assistant (PDA) or the like. Nevertheless, a walled communication partner node may also be a fixed terminal such as e.g. a personal computer PC.
With the increasing spreading and acceptance of the Internet, a harmonization of communication networks arises in that communication networks tend to be compatible with the Internet. Thus there is a tendency to adopt the Internet Protocol IP also in communication networks other than the Internet. In particular in mobility supporting communication networks, IP is adopted in a mobility supporting version still compatible with IP “as such”. For example, Mobile IPv4, Mobile IPv6 or Cellular IP protocol version exist. For the purpose of the present invention it is not crucial which protocol (mobile or fixed) is used, as long as the protocol is a packet-based protocol. It is to be noted that the invention defined below is applicable in relation with any mechanism that uses a tunneling protocol, in particular when there can be gained a benefit in terms of overhead thanks to a header compression to be defined below. A packet-based protocol is a protocol according to which data are transmitted in units of packets consisting of a payload section and a header section. The payload section carries the data to be communicated while the header section comprises management data required e.g. for routing of the packet and indicative of e.g. quality of service Qos provided for the packet. Also, the network itself is not limited for the present invention to be described later as long as the network is a packet-switched network supporting mobility of the users such as for example GPRS, UMTS, the Internet or the like.
A brief general introduction to Mobile IP and definitions of common terms in this technical field can be found under http://www.mobilein.com, retrieved from the Internet on Jun. 19, 2002.
In communication networks, terminal and/or communication partner nodes are identified by a permanent address PA. If the terminal is immobile, an access point address of the terminal to the network and the terminal's permanent address may coincide with each other. However, if the terminal is mobile, this addressing scheme will not work any longer.
When a mobile terminal identified in its home network by its PA is located outside of the home network (i.e. in a visited network) a temporary care of address (CoA) is assigned to the mobile terminal (i.e. mapped to its permanent address) by means of which the home network (i.e. a home agent as control and routing element) is enabled to forward data to the mobile terminal.
For example, Mobile IPv6 defines a mechanism known as Route Optimization. This mechanism enables correspondent nodes CN (communication partner nodes) to directly send packets to the mobile node MN (terminal node). Namely, when using Route Optimization, the mobile node MN sends a message (known as Binding Update message) indicating its care of address CoA to the correspondent code CN. The correspondent node CN caches (buffers) the binding of a mobile node (i.e. it maps the PA of the mobile node to the CoA address of the mobile node), and then sends its datagrams (packets) destined for the mobile node directly to the care of address, bypassing a mobile node's home agent. Mobile IPv6 Binding Update messages carry the CoA of the mobile node thus revealing information about its geographic location, but operators want to support Location Privacy. That is, by having knowledge of the mobile node's CoA, the Correspondent Node can deduce the geographic location of the Mobile Node. That is, a communication partner being aware of the (calling) terminal's care-of-address, may deduce the location (e.g. the visited network) of the terminal from this temporary address as explained before.
One possibility to avoid this is to use a mechanism known as triangular routing using a mobile node's home agent HA in the network. In this case, route optimization will not apply but on the contrary, the correspondent node sends the packets to the permanent address PA of the mobile node. Then the home agent of the mobile node's home network intercepts these packets. Since the home agent knows the CoA of the mobile node it is able to send the packets and can thus tunnel them to the MN. In the other direction, the mobile node will use the its PA as the source of its packets to be sent to the correspondent node, and in order to bypass ingress filtering, the mobile node first tunnels its packets to the home agent which will decapsulate them and send forward them to the correspondent node CN.
As can be seen, for example, in FIG. 2, if route optimization is not used in mobile IP, the correspondent node sends a packet to the permanent address of a mobile node. The packet is routed to the home agent HA in the home network of the mobile node. The HA tunnels the packet and sends it to the mobile node. The source and destination address in the outer header are the HA's address and the care of address of the mobile node.
An important feature for mobile communication networks is to provide location privacy. Location privacy means that the receiving node should not know where the initiating node is geographically located. Mobile IP based networks should at least support the current existing services for a commercial deployment and thus location privacy should be supported in mobile IP based networks.
In the U.S. patent application Ser. No. 09/986,602, filed on Nov. 9, 2001, on which content reference is made herewith, a solution for location privacy in a mobile communication network is proposed, e.g. in an IPv6 environment.
In this location privacy solution, a location privacy server (LPS) and location privacy agents (LPA) are used to forward (tunnel) data between the correspondent node and the mobile node (as depicted, for example, in FIGS. 3 and 4). The LPS is located in the called mobile node's home network. When a data transmission to the mobile node is to be performed, the LPS chooses a LPA between the mobile node and the correspondent node and as close as possible to the correspondent node. On the basis of the CoA and the PA of the mobile node, a connection is established via the LPA as a tunnel. As also shown in FIGS. 3 and 4, the correspondent node sends a packet to the LPA with the PA of the mobile node as destination. The LPA encapsulates this packet addressed to a mobile node's home address and routes them transparently to the mobile node's care of address. On the other hand, the mobile node sends a packet originally addressed to the correspondent node to the LPA as intermediate destination (tunnel). The LPA decapsulates the tunneled packet (whereby the CoA of the mobile node is removed) and forwards the original packet comprising the LPA address as the source to the correspondent node. By this, the location of the mobile node can be concealed from the correspondent node by using a tunneled packet for the connection via the LPA.
However, the tunneling technique obviously produces more overhead by adding a new header to the original packet. Thus, for the transmission of the tunneled packet, more bandwidth is required in comparison to a transmission of just the original packet. This is in particular a problem in the case that long distances are between the correspondent node and the mobile node. The bandwidth efficiency brings challenges to the link layer, especially for the bandwidth limited link technology such as cellular links.
In order to solves this problem, compression mechanisms are used to reduce the overhead brought by the tunneling. The IETF has made some proposals for the compression of the header. The basic idea of header compression is to compress the header of the packet at a compressor side and then carry the compressed header plus the payload over the access link. According to the RFC3095, and as depicted in FIG. 6, a robust header compression scheme is used in which the inner header and the outer header of the tunneled packet is compressed.
With the described tunneling and compressing schemes, a packet based transmission scenario between a sender and a receiver is implemented in existing communication systems which will be described below with reference to FIG. 7.
In the case shown in FIG. 7, the tunneling and header compression is performed at the same node, for example, a mobile node such as a mobile IP phone or the like. This means, an entity 1000 is the starting point of the tunnel and the compressor. Thus, the original packet comprising the payload and a first (inner) header is generated in the sender. Next, the original packet is forwarded to an encapsulator unit which adds a second (outer) header to the original packet in order to generate a tunneled packet. The tunneled packet is sent to a compressor unit. The compressor unit compresses, for example according to the RFC3095 scheme, the headers of the tunneled packet into a compressed header and generates thus a compressed packet. The compressed packet is sent over an (air) interface between the sender and a decompressor unit 2000. The decompressor unit 2000 decompresses the compressed header, i.e. the inner header and the outer header are recovered. The thus restored tunneled packet comprising the inner header, the outer header and the payload is sent from the decompressor unit 2000 to the ending point of the tunnel 3000. At this ending point of the tunnel 3000, a decapsulator unit decapsulates the tunneled packet, i.e. removes the outer header, and sends the thus recovered original packet to the original receiver 4000 indicated in the inner header.
However, it is obvious that this transmission scheme is in particular problematic in cases when the decompressor unit 2000 and the ending point of the tunnel 3000 (i.e. the decapsulator unit) are located in network elements having a great distance between them. If the decompressor unit and the decapsulator unit are far away from each other, the network bandwidth used to carry the tunneled packet is high. Hence, the bandwidth between these points is rather burdened. Based on the fact that the decompressor unit is normally located at the edge of the network (e.g., Base Station in the radio access network), while the end of the tunnel could be in the home network of the mobile node (e.g., home agent in mobile IP application) or close to the correspondent node (e.g., in the described Location Privacy Agent approach), the scenario of having decompressor unit and decapsulator unit far away from each other will happen frequently. Thus, the existing transmission scheme may lead to non-optimized resource usage on the link between the decompressor unit and the decapsulator unit.
Furthermore, in particular in the case of a network providing location privacy by a location privacy server/location privacy agent solution, there may arise another problem. When the decapsulator unit is located in the location privacy agent, and when the decompressor unit (not being part of the location privacy agent) decompresses the header and thus generates the tunneled packet, the information of the headers (i.e. for example the CoA of the mobile node) will be visible to all network nodes involved in the connection between the decompressor unit and the decapsulator unit. Thus, location privacy may be vulnerable.